bat批处理示例(四) |
您所在的位置:网站首页 › 批处理 删除指定文件夹 › bat批处理示例(四) |
需求:遍历NLCloud下文件名为5和6开头的文件夹,如果此文件夹下存在appsettings.json,删除5和6开头的文件和文件夹下的子目录下所有名字不是appsettings.json的文件和文件夹. 1.dir命令补充: /ad:属性为目录 以下命令解释:筛选出当前目录下的所有属性为目录的文件名 dir . /ad /b/a-d:属性为非目录 以下命令解释:筛选出当前目录下的所有属性不是目录的文件名 dir . /a-d /b2.findstr命令补充: /i:忽视大小写 /v:只打印不包含匹配的行,即筛选出非指定的所有内容 dir . /a-d /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\files.txt rem 删除属性为非目录文件( a-d),文件名不是appsettings.json的文件 dir . /ad /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\folders.txt rem 删除属性为目录文件(ad),文件名不是appsettings.json的文件3.最终脚本: @echo off SETLOCAL ENABLEDELAYEDEXPANSION f: cd \V2.0.1-meinian\NLCloud dir /b 5* > name.txt dir /b 6* >> name.txt for /f "delims=" %%i in (name.txt) do ( set a=%%i if exist !a!\appsettings.json ( cd !a! echo ..........................enter into !a! .......................... dir . /a-d /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\files.txt rem 删除属性为非目录文件( a-d),文件名不是appsettings.json的文件 dir . /ad /b |findstr /i /v "appsettings.json" > f:\V2.0.1-meinian\NLCloud\!a!\folders.txt rem 删除属性为目录文件(ad),文件名不是appsettings.json的文件 echo ..........................exit from !a! .......................... cd .. for /f "delims=" %%j in (f:\V2.0.1-meinian\NLCloud\!a!\files.txt) do del /q !a!\%%j for /f "delims=" %%k in (f:\V2.0.1-meinian\NLCloud\!a!\folders.txt) do rd /q /s !a!\%%k del /q !a!\files.txt !a!\folder.txt ) ) pause
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |